package com.bi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bi.entity.ThemeScenarioComponent;

import java.util.List;

/**
 * 主题场景组件服务接口
 * 
 * @author BI Platform Team
 * @since 1.0.0
 */
public interface ThemeScenarioComponentService extends IService<ThemeScenarioComponent> {

    /**
     * 根据场景ID获取组件列表
     */
    List<ThemeScenarioComponent> getByScenarioId(Long scenarioId);

    /**
     * 获取组件树结构
     */
    List<ThemeScenarioComponent> getComponentTree(Long scenarioId);

    /**
     * 根据场景ID删除组件
     */
    boolean removeByScenarioId(Long scenarioId);

    /**
     * 批量更新组件排序
     */
    boolean updateBatchOrder(List<ThemeScenarioComponent> components);

    /**
     * 更新组件位置
     */
    boolean updatePosition(Long componentId, String positionConfig);

    /**
     * 更新组件层级
     */
    boolean updateZIndex(Long componentId, Integer zIndex);
}